home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" void r893c_mapping_procedure_non_small_eiffel(T0* a1,T0* a2){ int _bfuc=0; T0* _bf=NULL; _bf=(((T906*)((T906*)a1)))->_base_feature/*44*/; _bfuc=r883use_current(((T883*)_bf)); /*IF*/if ((!(_bfuc))&&(r324target_cannot_be_dropped(((T324*)(oBC364cpp))))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470)); /*]*/ } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r883external_c_name(((T883*)_bf))); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_bfuc) { r324put_target_as_value(((T324*)(oBC364cpp))); } /*FI*//*IF*/if ((r906arg_count(((T906*)a1)))>(0)) { /*IF*/if (_bfuc) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470)); /*]*/ } void r893c_mapping_function_non_small_eiffel(T0* a1,T0* a2){ int _tcbd=0; int _bfuc=0; T0* _bf=NULL; _bf=(((T892*)((T892*)a1)))->_base_feature/*48*/; _bfuc=r679use_current(((T679*)_bf)); /*IF*/if (!(_bfuc)) { _tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r679external_c_name(((T679*)_bf))); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_bfuc) { r324put_target_as_value(((T324*)(oBC364cpp))); } /*FI*//*IF*/if ((r892arg_count(((T892*)a1)))>(0)) { /*IF*/if (_bfuc) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if ((!(_bfuc))&&(_tcbd)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:NATIVE_WITH_CURRENT.c_define_function*/ /*No:NATIVE_WITH_CURRENT.fz_14*/ /*No:NATIVE_WITH_CURRENT.c_define_procedure*/ /*No:NATIVE_WITH_CURRENT.stupid_switch*/ /*No:NATIVE_WITH_CURRENT.c_mapping_procedure*/ /*No:NATIVE_WITH_CURRENT.c_mapping_function*/ /*No:NATIVE_WITH_CURRENT.use_current*/ void r881make(T881* C,T0* a1,T0* a2){ T0* _fga=NULL; int _i=0; int _rank=0; C->_start_position=a1; C->_list=a2; _i=(((T681*)((T681*)a2)))->_upper/*8*/; while (!((_i)==(0))) { _fga=r681item(((T681*)a2),_i); _rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/); /*IF*/if ((_rank)!=(_i)) { r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/); r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)-(1); } } /*No:FORMAL_GENERIC_LIST.start_position*/ /*No:FORMAL_GENERIC_LIST.item*/ /*No:FORMAL_GENERIC_LIST.list*/ /*No:FORMAL_GENERIC_LIST.count*/ /*No:FORMAL_GENERIC_LIST.fatal_error*/ int r881index_of(T881* C,T0* a1){ int R=0; T0* _to_string=NULL; _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/; R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/; while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) { R=(R)-(1); } return R; } /*No:CST_ATT_BOOLEAN.arguments*/ T0* r580try_to_undefine(T580* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r580try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T580*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_BOOLEAN.is_deferred*/ void r580add_into(T580* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r580try_to_undefine_aux(T580* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r580start_position(C)); r580error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r580make(T580* C,T0* a1,T0* a2,T0* a3){ r580make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_BOOLEAN.nb_errors*/ /*No:CST_ATT_BOOLEAN.set_header_comment*/ T0* r580start_position(T580* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r580to_run_feature(T580* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_BOOLEAN.ensure_assertion*/ /*No:CST_ATT_BOOLEAN.code_require*/ /*No:CST_ATT_BOOLEAN.result_type*/ /*No:CST_ATT_BOOLEAN.em1*/ /*No:CST_ATT_BOOLEAN.set_clients*/ /*No:CST_ATT_BOOLEAN.em2*/ /*No:CST_ATT_BOOLEAN.value*/ /*No:CST_ATT_BOOLEAN.require_assertion*/ /*No:CST_ATT_BOOLEAN.names*/ /*No:CST_ATT_BOOLEAN.value_mem*/ /*No:CST_ATT_BOOLEAN.stupid_switch*/ int r580can_hide(T580* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r580error(r580start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r580error(r580start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BOOLEAN.header_comment*/ int r580is_merge_with(T580* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r580error(r580start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r580error(r580start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BOOLEAN.fz_dot*/ /*No:CST_ATT_BOOLEAN.first_name*/ /*No:CST_ATT_BOOLEAN.clients*/ void r580collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r580error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_BOOLEAN.base_class*/ /*No:CST_ATT_BOOLEAN.base_class_name*/ void r580make_e_feature(T580* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:TYPE_INTEGER.id*/ int r788has_creation(T788* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_INTEGER.is_anchored*/ /*No:TYPE_INTEGER.us_integer*/ /*No:TYPE_INTEGER.is_array*/ /*No:TYPE_INTEGER.fz_typedef*/ int r788is_a(T788* C,T0* a1){ int R=0; /*IF*/if (((X291is_integer(a1))||(X291is_double(a1)))||(X291is_real(a1))) { R=1; } else { R=r605is_subclass_of(((T605*)(r788base_class(C))),X291base_class(a1)); /*IF*/if (R) { r788used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_INTEGER.c_initialize_in*/ /*No:TYPE_INTEGER.c_type_for_argument_in*/ void r788gc_call_new_in(T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(2,a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } /*No:TYPE_INTEGER.run_type*/ /*No:TYPE_INTEGER.is_pointer*/ /*No:TYPE_INTEGER.is_dummy_expanded*/ /*No:TYPE_INTEGER.is_string*/ /*No:TYPE_INTEGER.space_for_variable*/ /*No:TYPE_INTEGER.is_like_feature*/ /*No:TYPE_INTEGER.is_like_current*/ void r788make(T788* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms15_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_INTEGER.nb_errors*/ /*No:TYPE_INTEGER.us_item*/ void r788load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r355set_at_run_time(((T355*)_rc)); _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473)); } int fBC364type_integer_ref=0; T0*oBC364type_integer_ref=NULL; T0* r788type_integer_ref(void){ if (fBC364type_integer_ref==0){ T0* R=NULL; T0* _integer_ref=NULL; fBC364type_integer_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms16_473),NULL); _integer_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_integer_ref); /*]*/ R=(T0*)n; } oBC364type_integer_ref=R;} return oBC364type_integer_ref;} int fBC788check_type=0; void r788check_type(T788* C){ if (fBC788check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC788check_type=1; _bc=r788base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r788run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_788)); } /*FI*/} /*FI*/}} /*No:TYPE_INTEGER.mapping_cast*/ /*No:TYPE_INTEGER.start_position*/ /*No:TYPE_INTEGER.c_type_for_target_in*/ /*No:TYPE_INTEGER.fz_gc_mark*/ /*No:TYPE_INTEGER.fz_inako*/ /*No:TYPE_INTEGER.gc_initialize*/ /*No:TYPE_INTEGER.fz_00*/ /*No:TYPE_INTEGER.is_character*/ /*No:TYPE_INTEGER.is_user_expanded*/ T0* r788written_mark(void){ T0* R=NULL; R=((T0*)ms15_473); return R; } /*No:TYPE_INTEGER.is_run_type*/ T0* r788to_runnable(T788* C,T0* a1){ T0* R=NULL; R=(T0*)C; r788check_type(C); return R; } void r788c_type_for_external_in(T0* a1){ /*IF*//*AF*//*AE*/ /*[IRF3.6c_type_for_result_in*/{T0* b1=a1; /*[IRF3.6c_type_for_argument_in*/{T0* c1=b1; r7append(((T7*)c1),((T0*)ms111_470)); }/*]*/ }/*]*/ /*FI*/} T0* r788generic_list(T788* C){ T0* R=NULL; r788fatal_error_generic_list(C); return R; } /*No:TYPE_INTEGER.is_formal_generic*/ void r788demangling_in(T0* a1){ /*IF*//*AF*//*AE*/ r7extend(((T7*)a1),'E'); /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r788run_time_mark()); } /*No:TYPE_INTEGER.is_real*/ /*No:TYPE_INTEGER.us_integer_ref*/ /*No:TYPE_INTEGER.is_bit*/ void r788fatal_error_generic_list(T788* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_INTEGER.fz_new*/ T0* r788smallest_ancestor(T788* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_integer(_rto)) { R=(T0*)C; } else if (X291is_real(_rto)) { R=a1; } else if (X291is_double(_rto)) { R=a1; } else { R=r657smallest_ancestor(((T657*)(r788type_integer_ref())),_rto); } /*FI*/return R; } /*No:TYPE_INTEGER.is_boolean*/ /*No:TYPE_INTEGER.is_double*/ T0* r788run_class(T788* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r788run_time_mark(void){ T0* R=NULL; R=((T0*)ms15_473); return R; } /*No:TYPE_INTEGER.c_initialize*/ /*No:TYPE_INTEGER.cast_to_ref*/ void r788gc_mark_in(T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(2,a1); } int r788is_a_in(T788* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r788written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=r788to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r788look_up_for(T788* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r788base_class(C))),a1,a2); return R; } /*No:TYPE_INTEGER.c_header_pass1*/ /*No:TYPE_INTEGER.c_type_for_result_in*/ /*No:TYPE_INTEGER.expanded_initializer*/ /*No:TYPE_INTEGER.fz_int*/ /*No:TYPE_INTEGER.fz_void*/ /*No:TYPE_INTEGER.fz_dot*/ /*No:TYPE_INTEGER.is_generic*/ int fBC788used_as_reference=0; void r788used_as_reference(void){ if (fBC788used_as_reference==0){ fBC788used_as_reference=1; r788load_ref(((T0*)ms16_473)); }} int r788space_for_integer(void){ int R=0; R=sizeof(T2); return R; } /*No:TYPE_INTEGER.c_header_pass2*/ /*No:TYPE_INTEGER.gc_define1*/ /*No:TYPE_INTEGER.need_c_struct*/ /*No:TYPE_INTEGER.is_reference*/ /*No:TYPE_INTEGER.gc_info_in*/ void r788error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r788base_class(T788* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T788*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_INTEGER.call_gc_sweep_in*/ /*No:TYPE_INTEGER.gc_define2*/ /*No:TYPE_INTEGER.need_gc_mark_function*/ /*No:TYPE_INTEGER.is_any*/ /*No:TYPE_INTEGER.to_reference*/ /*No:TYPE_INTEGER.c_header_pass3*/ /*No:TYPE_INTEGER.base_class_name*/ /*No:TYPE_INTEGER.is_expanded*/ /*No:TYPE_INTEGER.is_basic_eiffel_expanded*/ /*No:TYPE_INTEGER.is_none*/ /*No:TYPE_INTEGER.to_expanded*/ /*No:TYPE_INTEGER.is_integer*/ /*No:TYPE_INTEGER.c_header_pass4*/ /*No:PROC_CALL_1.arguments*/ T0* r317add_comment(T317* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r317make(T317* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:PROC_CALL_1.nb_errors*/ /*No:PROC_CALL_1.feature_name*/ /*No:PROC_CALL_1.arg_count*/ /*No:PROC_CALL_1.run_feature*/ /*No:PROC_CALL_1.set_run_compound*/ /*No:PROC_CALL_1.call_proc_call_c2c*/ T0* r317start_position(T317* C){ T0* R=NULL; R=X776start_position((((T317*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_1.target*/ void r317compile_to_c(T317* C){ r324rs_push_position(((T324*)(oBC364cpp)),'3',r317start_position(C)); /*[IRF3.6call_proc_call_c2c*/{T317* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ r324rs_pop_position(((T324*)(oBC364cpp))); } /*No:PROC_CALL_1.set_run_feature*/ T0* r317to_runnable(T317* C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) { r317to_runnable_0(C,a1); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _a=X431to_runnable((((T317*)C))->_arguments/*20*/,r317current_type(C)); /*IF*/if ((_a)==((void*)(NULL))) { r317error(X662start_position(r317arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T317*)C))->_arguments/*20*/,(((T317*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T317*n=malloc(sizeof(*n)); *n=M317; r317make(n,(((T317*)C))->_target/*8*/,(((T317*)C))->_feature_name/*12*/,(((T317*)C))->_arguments/*20*/); R=(T0*)n; } R=r317to_runnable(((T317*)R),a1); } /*FI*/return R; } /*No:PROC_CALL_1.us_c_inline_c*/ int r317standard_use_current(T317* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T317*)C))->_arguments/*20*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T317*)C))->_target/*8*/)) { R=X496use_current((((T317*)C))->_run_feature/*16*/); } else { R=X662use_current((((T317*)C))->_target/*8*/); } /*FI*/return R; } /*No:PROC_CALL_1.fz_07*/ T0* r317current_type(T317* C){ T0* R=NULL; /*IF*/if (((((T317*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T317*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:PROC_CALL_1.run_compound*/ void r317to_runnable_0(T317* C,T0* a1){ C->_run_compound=a1; r317cpc_to_runnable(C,r317current_type(C)); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T317*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T317*)C))->_run_feature/*16*/)); r317error(X776start_position((((T317*)C))->_feature_name/*12*/),((T0*)ms1_173)); } /*FI*/} /*No:PROC_CALL_1.is_pre_computable*/ void r317cpc_to_runnable(T317* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T317*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T317*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/); } int r317use_current(T317* C){ int R=0; T0* _s=NULL; T0* _ms=NULL; /*IF*/if ((((T0*)ms65_473))==((void*)(X776to_string((((T317*)C))->_feature_name/*12*/)))) { _ms=r317arg1(C); if(NULL!=(_ms))switch(((T0*)_ms)->id) { case 805: break; default: _ms=NULL; };_s=(((T805*)((T805*)_ms)))->_to_string/*16*/; R=r7has(((T7*)_s),'C'); } else { R=r317standard_use_current(C); } /*FI*/return R; } void r317finalize(T317* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T317*)C))->_run_feature/*16*/; _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) { _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf); C->_run_feature=_rf; } /*FI*/} void r317error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROC_CALL_1.fatal_error*/ /*No:PROC_CALL_1.fz_bad_argument*/ T0* r317arg1(T317* C){ T0* R=NULL; R=X431first((((T317*)C))->_arguments/*20*/); return R; } /*No:PROC_CALL_1.end_mark_comment*/ void r317afd_check(T317* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T317*)C))->_target/*8*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T317*)C))->_target/*8*/); /*IF*/{/*AT*/X431afd_check((((T317*)C))->_arguments/*20*/); } /*FI*/} T0* r317make_runnable(T317* C,T0* a1,T0* a2,T0* a3,T0* a4){ T0* R=NULL; /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) { R=(T0*)C; r317make(((T317*)R),a2,(((T317*)C))->_feature_name/*12*/,a3); C->_run_compound=a1; C->_run_feature=a4; } else { {T317*n=malloc(sizeof(*n)); *n=M317; r317make(n,a2,(((T317*)C))->_feature_name/*12*/,a3); R=(T0*)n; } /*[IRF3.3set_run_compound*/((((T317*)(((T317*)R))))->_run_compound)=(a1); /*]*/ /*[IRF3.3set_run_feature*/((((T317*)(((T317*)R))))->_run_feature)=(a4); /*]*/ } /*FI*/return R; } T0* r23add_comment(T23* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r23to_integer(T23* C){ int R=0; r23error((((T23*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r23is_a(T23* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T23*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T23*)C))->_start_position/*16*/); r23error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:LOCAL_NAME2.is_current*/ void r23mapping_c_arg(T23* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type((((T23*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(_rt)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ } /*FI*/} /*No:LOCAL_NAME2.static_value*/ void r23mapping_c_target(T23* C,T0* a1){ T0* _rt=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _rt=X291run_type((((T23*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(_rt)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.6compile_to_c*/{T23* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/); }/*]*/ } /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:LOCAL_NAME2.to_string*/ /*No:LOCAL_NAME2.fz_iinaiv*/ /*No:LOCAL_NAME2.dca_inline_argument*/ /*No:LOCAL_NAME2.set_result_type*/ /*No:LOCAL_NAME2.start_position*/ /*No:LOCAL_NAME2.compile_to_c*/ /*No:LOCAL_NAME2.c_simple*/ T0* r23to_runnable(T23* C,T0* a1){ T0* R=NULL; T0* _rt=NULL; T0* _declaration_name=NULL; T0* _lvl=NULL; T0* _rf=NULL; _rf=r604top_rf(((T604*)(oBC364small_eiffel))); _lvl=X496local_vars(_rf); _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)_lvl)))->_flat_list/*12*/)),(((T23*)C))->_rank/*20*/)/*)*/; /*[IRF3.3set_is_used*/((((T39*)(((T39*)_declaration_name))))->_is_used)=(1); /*]*/ _rt=r620type(((T620*)_lvl),(((T23*)C))->_rank/*20*/); /*IF*/if (((((T23*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=_rt; R=(T0*)C; } else { {T23*n=malloc(sizeof(*n)); *n=M23; r23make_runnable(n,(T0*)C,a1,_rt); R=(T0*)n; } } /*FI*/return R; } /*No:LOCAL_NAME2.set_rank*/ /*No:LOCAL_NAME2.rank*/ /*No:LOCAL_NAME2.result_type*/ /*No:LOCAL_NAME2.is_result*/ /*No:LOCAL_NAME2.is_static*/ /*No:LOCAL_NAME2.can_be_dropped*/ /*No:LOCAL_NAME2.current_type*/ /*No:LOCAL_NAME2.compile_to_c_old*/ /*No:LOCAL_NAME2.static_value_mem*/ /*No:LOCAL_NAME2.is_manifest_string*/ void r23refer_to(T23* C,T0* a1,T0* a2,int a3){ T0* _declaration_name=NULL; C->_start_position=a1; C->_rank=a3; _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)a2)))->_flat_list/*12*/)),a3)/*)*/; C->_to_string=(((T39*)((T39*)_declaration_name)))->_to_string/*12*/; C->_result_type=(((T39*)((T39*)_declaration_name)))->_result_type/*24*/; } /*No:LOCAL_NAME2.is_void*/ /*No:LOCAL_NAME2.is_pre_computable*/ /*No:LOCAL_NAME2.use_current*/ void r23error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:LOCAL_NAME2.isa_dca_inline_argument*/ /*No:LOCAL_NAME2.afd_check*/ void r23make_runnable(T23* C,T0* a1,T0* a2,T0* a3){ *((T23*)(C))=*((T23*)(a1)); C->_current_type=a2; C->_result_type=a3; } /*No:CALL_0_C.arguments*/ T0* r487add_comment(T487* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r487to_integer(T487* C){ int R=0; T0* _rf1=NULL; _rf1=(((T487*)C))->_run_feature/*20*/; if(NULL!=(_rf1))switch(((T0*)_rf1)->id) { case 808: break; default: _rf1=NULL; };/*IF*/if ((_rf1)==((void*)(NULL))) { r487error(r487start_position(C),((T0*)ms69_470)); } else { R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/); } /*FI*/return R; } int r487is_a(T487* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T487*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(r487start_position(C)); r487error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_0_C.is_current*/ void r487mapping_c_arg(T487* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T487*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { r487compile_to_c(C); } else { X291to_expanded(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r487compile_to_c(C); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_0_C.static_value*/ void r487make(T487* C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } void r487mapping_c_target(T487* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T487*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { X291to_expanded(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r487compile_to_c(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r487compile_to_c(C); } /*FI*/} /*FI*/} /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:CALL_0_C.nb_errors*/ /*No:CALL_0_C.feature_name*/ /*No:CALL_0_C.fz_iinaiv*/ /*No:CALL_0_C.arg_count*/ /*No:CALL_0_C.dca_inline_argument*/ /*No:CALL_0_C.run_feature*/ /*No:CALL_0_C.call_proc_call_c2c*/ T0* r487start_position(T487* C){ T0* R=NULL; R=X776start_position((((T487*)C))->_feature_name/*16*/); return R; } /*No:CALL_0_C.target*/ /*No:CALL_0_C.us_is_expanded_type*/ void r487compile_to_c(T487* C){ T0* _n=NULL; _n=X776to_string((((T487*)C))->_feature_name/*16*/); /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) { /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T487*)C))->_target/*12*/)))) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='0'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if ((((T0*)ms82_473))==((void*)(_n))) { /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T487*)C))->_target/*12*/))) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='0'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*[IRF3.6call_proc_call_c2c*/{T487* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ } /*FI*/} /*No:CALL_0_C.c_simple*/ T0* r487to_runnable(T487* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T487*)C))->_current_type/*8*/)==((void*)(NULL))) { r487to_runnable_0(C,a1); /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T487*)C))->_run_feature/*20*/))>(0))) { r683add_position(X776start_position((((T487*)C))->_feature_name/*16*/)); r487error(X496start_position((((T487*)C))->_run_feature/*20*/),((T0*)ms1_752)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r487twin(C); /*[IRF3.3set_current_type*/((((T487*)(((T487*)R))))->_current_type)=(NULL); /*]*/ R=r487to_runnable(((T487*)R),a1); } /*FI*/return R; } /*No:CALL_0_C.result_type*/ /*No:CALL_0_C.is_result*/ T0* r487twin(T487* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T487*)R)=*C; return R; } /*No:CALL_0_C.set_current_type*/ int r487is_static(T487* C){ int R=0; T0* _tb=NULL; T0* _tt=NULL; T0* _name=NULL; /*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) { _tt=X662result_type((((T487*)C))->_target/*12*/); _name=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_name/*16*/)); /*IF*/if ((((T0*)ms83_473))==((void*)(_name))) { R=1; /*IF*/if (X291is_expanded(_tt)) { C->_static_value_mem=1; } /*FI*/} else if ((((T0*)ms82_473))==((void*)(_name))) { R=1; /*IF*/if (X291is_basic_eiffel_expanded(_tt)) { C->_static_value_mem=1; } /*FI*/} else if (((((T0*)ms60_473))==((void*)(_name)))&&(X291is_bit(_tt))) { R=1; _tb=_tt; if(NULL!=(_tb))switch(((T0*)_tb)->id) { case 549: case 558: break; default: _tb=NULL; };C->_static_value_mem=X609nb(_tb); } else if (X662is_current((((T487*)C))->_target/*12*/)) { /*IF*/if (X496is_static((((T487*)C))->_run_feature/*20*/)) { R=1; C->_static_value_mem=X496static_value_mem((((T487*)C))->_run_feature/*20*/); } else { R=r487call_is_static(C); } /*FI*/} else { R=r487call_is_static(C); } /*FI*/} /*FI*/return R; } int r487call_is_static(T487* C){ int R=0; T0* _rf=NULL; T0* _running=NULL; T0* _rc=NULL; /*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) { _rc=X496run_class((((T487*)C))->_run_feature/*20*/); /*IF*/if ((_rc)!=((void*)(NULL))) { _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) { _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T487*)C))->_run_feature/*20*/); /*IF*/if (X496is_static(_rf)) { C->_static_value_mem=X496static_value_mem(_rf); R=1; } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_0_C.fz_07*/ /*No:CALL_0_C.us_is_basic_expanded_type*/ int r487can_be_dropped(T487* C){ int R=0; /*IF*/if (X662can_be_dropped((((T487*)C))->_target/*12*/)) { R=X496can_be_dropped((((T487*)C))->_run_feature/*20*/); } /*FI*/return R; } /*No:CALL_0_C.us_count*/ /*No:CALL_0_C.current_type*/ void r487compile_to_c_old(T487* C){ X662compile_to_c_old((((T487*)C))->_target/*12*/); /*IF*//*AF*//*AE*/ /*FI*/} /*No:CALL_0_C.static_value_mem*/ /*No:CALL_0_C.is_manifest_string*/ /*No:CALL_0_C.is_void*/ void r487to_runnable_0(T487* C,T0* a1){ C->_current_type=a1; r487cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_result_type/*24*/); /*IF*/if (((((T487*)C))->_result_type/*24*/)==((void*)(NULL))) { r683add_position(X496start_position((((T487*)C))->_run_feature/*20*/)); r487error(X776start_position((((T487*)C))->_feature_name/*16*/),((T0*)ms1_295)); } else if (X291is_like_current((((T487*)C))->_result_type/*24*/)) { C->_result_type=X662result_type((((T487*)C))->_target/*12*/); } /*FI*/} int r487is_pre_computable(T487* C){ int R=0; /*IF*/if (X662is_current((((T487*)C))->_target/*12*/)) { R=X496is_pre_computable((((T487*)C))->_run_feature/*20*/); } /*FI*/return R; } void r487cpc_to_runnable(T487* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T487*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T487*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/); } int r487use_current(T487* C){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (R) { } else if (X662is_current((((T487*)C))->_target/*12*/)) { R=X496use_current((((T487*)C))->_run_feature/*20*/); } else { R=X662use_current((((T487*)C))->_target/*12*/); } /*FI*/return R; } void r487finalize(T487* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T487*)C))->_run_feature/*20*/; _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) { _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf); C->_run_feature=_rf; } /*FI*/} void r487error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_0_C.isa_dca_inline_argument*/ /*No:CALL_0_C.fatal_error*/ void r487afd_check(T487* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T487*)C))->_target/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/); } /*FI*/X662afd_check((((T487*)C))->_target/*12*/); /*IF*//*AF*//*AE*/ /*FI*/} void r583make(T583* C,T0* a1,T0* a2,T0* a3,T0* a4){ C->_start_position=a1; C->_clients=a2; C->_comment=a3; /*IF*/if ((a4)!=((void*)(NULL))) { {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,a4); C->_procedure_list=(T0*)n; } } /*FI*/} /*No:CREATION_CLAUSE.start_position*/ void r583check_expanded_with(T583* C,T0* a1){ T0* _rc=NULL; T0* _rf3=NULL; T0* _rf=NULL; /*IF*/if (((((T583*)C))->_procedure_list/*12*/)==((void*)(NULL))) { r683add_position((((T583*)C))->_start_position/*0*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_583); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if ((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1)) { r683add_type(a1,((T0*)ms65_470)); r683add_position((((T583*)C))->_start_position/*0*/); /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ /*]*/ } /*FI*/_rc=X291run_class(a1); _rf=r355get_feature(((T355*)_rc),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/); /*IF*/if ((_rf)==((void*)(NULL))) { r683add_position((((T583*)C))->_start_position/*0*/); /*[IRF3.6append*/{T0* b1=((T0*)ms7_583); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms8_583)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/_rf3=_rf; if(NULL!=(_rf3))switch(((T0*)_rf3)->id) { case 832: break; default: _rf3=NULL; };/*IF*/if ((_rf3)==((void*)(NULL))) { r683add_position((((T583*)C))->_start_position/*0*/); r683add_position(X496start_position(_rf)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_583); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if ((r832arg_count(((T832*)_rf3)))>(0)) { r683add_type(a1,((T0*)ms65_470)); r683add_position((((T583*)C))->_start_position/*0*/); r683add_position(/*(IRF4.6start_position*/r297start_position(((T297*)((((T832*)((T832*)_rf3)))->_base_feature/*44*/)))/*)*/); /*[IRF3.6append*/{T0* b1=((T0*)ms10_583); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ /*]*/ } /*FI*/} /*No:CREATION_CLAUSE.comment*/ int r583has(T583* C,T0* a1){ int R=0; /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) { R=r953has(((T953*)((((T583*)C))->_procedure_list/*12*/)),a1); } /*FI*/return R; } T0* r583expanded_initializer(T583* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) { R=r355get_feature(((T355*)(X291run_class(a1))),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/); if(NULL!=(R))switch(((T0*)R)->id) { case 832: break; default: R=NULL; };} /*FI*/return R; } /*No:CREATION_CLAUSE.fz_cbe*/ /*No:CREATION_CLAUSE.clients*/ /*No:CREATION_CLAUSE.fatal_error_vtec_2*/ /*No:CREATION_CLAUSE.fatal_error*/ /*No:CREATION_CLAUSE.procedure_list*/ void r490make(T490* C,T0* a1,T0* a2){ C->_to_string=r902item(a1); C->_start_position=a2; } /*No:TAG_NAME.to_string*/ /*No:TAG_NAME.start_position*/ /*No:RUN_FEATURE_2.arguments*/ int r820id(T820* C){ int R=0; R=X291id((((T820*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_2.ucs_true*/ /*No:RUN_FEATURE_2.c_define*/ /*No:RUN_FEATURE_2.actuals_clients*/ void r820nothing_comment(T820* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291run_time_mark((((T820*)C))->_current_type/*4*/)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\56'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_2.ucs_in_computation*/ void r820make(T820* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r820run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r820initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } /*No:RUN_FEATURE_2.name*/ void r820mapping_name(T820* C){ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='r'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r820id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T820*)C))->_name/*16*/)); /*]*/ } int r820arg_count(T820* C){ int R=0; /*IF*/if (((((T820*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T820*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_2.local_vars*/ /*No:RUN_FEATURE_2.fz_open_c_comment*/ /*No:RUN_FEATURE_2.base_feature*/ /*No:RUN_FEATURE_2.start_position*/ /*No:RUN_FEATURE_2.fz_close_c_comment*/ int r820is_exported_in(T820* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r820clients(C))),a1); return R; } /*No:RUN_FEATURE_2.compute_use_current*/ /*No:RUN_FEATURE_2.result_type*/ /*No:RUN_FEATURE_2.is_static*/ void r820add_client(T820* C,T0* a1){ int _i=0; /*IF*/if (((((T820*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T820*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r820run_class(C))),a1); } /*No:RUN_FEATURE_2.use_current_state*/ /*No:RUN_FEATURE_2.can_be_dropped*/ void r820force_c_recompilation_comment(T820* C){ T0* _rc=NULL; /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470)); /*]*/ _rc=r820run_class(C); /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r355offset_of(((T355*)_rc),(T0*)C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470)); /*]*/ } /*No:RUN_FEATURE_2.current_type*/ T0* r820run_class(T820* C){ T0* R=NULL; R=X291run_class((((T820*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_2.static_value_mem*/ /*No:RUN_FEATURE_2.fz_b5*/ /*No:RUN_FEATURE_2.ucs_not_computed*/ void r820fall_down(T820* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T820*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T820*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T820*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_2.ucs_false*/ /*No:RUN_FEATURE_2.is_pre_computable*/ T0* r820clients(T820* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T820*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T820*)C))->_current_type/*4*/); _bfbc=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_clients/*20*/; } else { R=r605clients_for(((T605*)_bc),(((T820*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T820*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r820use_current(T820* C){ int R=0; {int z1=(((T820*)C))->_use_current_state/*28*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.3compute_use_current*/((((T820*)(C)))->_use_current_state)=(1004); /*]*/ R=r820use_current(C); } else {R=1; }} return R; } void r820mapping_c(T820* C){ T0* _ct=NULL; _ct=(((T820*)C))->_current_type/*4*/; /*IF*/if (X291is_basic_eiffel_expanded(_ct)) { r324put_target_as_value(((T324*)(oBC364cpp))); } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (X291is_reference(_ct)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X291mapping_cast(_ct); r324put_target_as_target(((T324*)(oBC364cpp))); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms240_470)); /*]*/ } else { r324put_target_as_value(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_820)); /*]*/ } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/)); /*]*/ r820force_c_recompilation_comment(C); } /*FI*/} void r820address_of(T820* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_820)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } void r820put_tag(T820* C){ T0* _fn=NULL; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776cpp_put_infix_or_prefix(_fn); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_2.clients_memory*/ void r820initialize(T820* C){ C->_result_type=X291to_runnable((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_result_type/*12*/,(((T820*)C))->_current_type/*4*/); } void r820afd_check(T820* C){ T0* _rc=NULL; _rc=X291run_class(X291run_type((((T820*)C))->_result_type/*24*/)); }